[id].vue 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300
  1. <template>
  2. <div>
  3. <!-- 页面头部 -->
  4. <HomePageHead></HomePageHead>
  5. <!-- 页面导航 -->
  6. <HomePageNavigation></HomePageNavigation>
  7. <!-- 二级标题-->
  8. <HomeSecondaryHeading :titleName="routeName" :titleData="pageData"></HomeSecondaryHeading>
  9. <!-- {{ name }} -->
  10. <!-- 第一层 -->
  11. <div class="farmingPartOne" v-if="pageData.length>=1">
  12. <div class="inner">
  13. <div class="innerLeft" v-if="pageData.length>=1">
  14. <div class="title">
  15. <h3>
  16. <NuxtLink :to="{ path: `/newsList/${pageData[0].cid}`}" v-if="pageData[0]" :title="pageData[0].alias">
  17. {{ pageData[0].alias }}
  18. </NuxtLink>
  19. <span>
  20. <NuxtLink
  21. :to="{ path: `/newsList/${pageData[0].cid}`}"
  22. v-if="pageData[0]" :title="pageData[0].title">查看更多</NuxtLink>
  23. </span>
  24. </h3>
  25. </div>
  26. <div class="leftTop">
  27. <div class="leftTopPhoto left" >
  28. <NuxtLink :to="item.linkurl" v-if="pageData[0].data[0]&&pageData[0].data[0].islink==1" :title="pageData[0].data[0].title">
  29. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  30. <span>{{pageData[0].data[0].title }}</span>
  31. </NuxtLink>
  32. <NuxtLink :to="{ path: `/newsDetail/${pageData[0].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  33. v-if="pageData[0].data[0]&&pageData[0].data[0].islink==0" :title="pageData[0].data[0].title">
  34. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  35. <span>{{pageData[0].data[0].title}}</span>
  36. </NuxtLink>
  37. </div>
  38. <ul class="left">
  39. <li v-for="item in pageData[0].data3">
  40. <em></em>
  41. <span>
  42. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  43. <NuxtLink
  44. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  45. v-if="item.islink==0" :title="item.title">{{ item.title }}
  46. </NuxtLink>
  47. </span>
  48. </li>
  49. </ul>
  50. </div>
  51. <ul class="leftBottom" v-if="pageData[0]">
  52. <li v-for="item in pageData[0].data2">
  53. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  54. <img :src="item.imgurl" :alt="item.title">
  55. </NuxtLink>
  56. <NuxtLink
  57. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  58. v-if="item.islink==0" :title="item.title">
  59. <img :src="item.imgurl" :alt="item.title">
  60. </NuxtLink>
  61. <p>
  62. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  63. <NuxtLink
  64. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  65. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  66. </p>
  67. </li>
  68. </ul>
  69. </div>
  70. <div class="innerRight" v-if="pageData.length>=2">
  71. <div class="title">
  72. <h3>
  73. <NuxtLink :to="{ path: `/newsList/${pageData[1].cid}`}" v-if="pageData[1]" :title="pageData[1].alias">
  74. {{ pageData[1].alias }}
  75. </NuxtLink>
  76. <span>
  77. <NuxtLink
  78. :to="{ path: `/newsList/${pageData[1].cid}`}"
  79. v-if="pageData[1]" :title="pageData[1].title">查看更多</NuxtLink>
  80. </span>
  81. </h3>
  82. </div>
  83. <ul class="rightList">
  84. <li v-for="item in pageData[1].data">
  85. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  86. <NuxtLink
  87. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  88. v-if="item.islink==0" :title="item.title">
  89. <img class="left" :src="item.imgurl" :alt="item.title">
  90. </NuxtLink>
  91. <p class="left">
  92. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  93. <NuxtLink
  94. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  95. v-if="item.islink==0" :title="item.title">
  96. {{ item.title }}
  97. </NuxtLink>
  98. </p>
  99. </li>
  100. </ul>
  101. </div>
  102. </div>
  103. </div>
  104. <!-- 三农资讯logo -->
  105. <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
  106. <!-- 第二层 -->
  107. <div class="farmingPartTwo" v-if="pageData.length>=3">
  108. <div class="inner">
  109. <div class="farmer" v-if="pageData.length>=3">
  110. <div class="title">
  111. <h3>
  112. <NuxtLink :to="{ path: `/newsList/${pageData[2].cid}`}" v-if="pageData[2]" :title="pageData[2].alias">
  113. {{ pageData[2].alias }}
  114. </NuxtLink>
  115. <span>
  116. <NuxtLink
  117. :to="{ path: `/newsList/${pageData[2].cid}`}"
  118. v-if="pageData[2]" :title="pageData[2].title">查看更多</NuxtLink>
  119. </span>
  120. </h3>
  121. </div>
  122. <div class="PartTwoPhoto" v-if="pageData[2].data[0]">
  123. <NuxtLink :to="item.linkurl" v-if="pageData[2].data[0].islink==1" :title="pageData[2].data[0].title">
  124. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  125. <span>{{ pageData[2].data[0].title }}</span>
  126. </NuxtLink>
  127. <NuxtLink
  128. :to="{ path: `/newsDetail/${pageData[2].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  129. v-if="pageData[2].data[0].islink==0" :title="pageData[2].data[0].title">
  130. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  131. <span>{{ pageData[2].data[0].title }}</span>
  132. </NuxtLink>
  133. </div>
  134. <ul class="PartTwoList">
  135. <li v-for="item in pageData[2].data2">
  136. <em></em>
  137. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  138. <NuxtLink
  139. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  140. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  141. </li>
  142. </ul>
  143. </div>
  144. <div class="farmer" v-if="pageData.length>=4">
  145. <div class="title">
  146. <h3>
  147. <NuxtLink :to="{ path: `/newsList/${pageData[3].cid}`}" v-if="pageData[3]" :title="pageData[3].alias">
  148. {{ pageData[3].alias }}
  149. </NuxtLink>
  150. <span>
  151. <NuxtLink
  152. :to="{ path: `/newsList/${pageData[3].cid}`}"
  153. v-if="pageData[3]" :title="pageData[3].title">查看更多</NuxtLink>
  154. </span>
  155. </h3>
  156. </div>
  157. <div class="PartTwoPhoto" v-if="pageData[3].data[0]">
  158. <NuxtLink :to="item.linkurl" v-if="pageData[3].data[0].islink==1" :title="pageData[3].data[0].title">
  159. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  160. <span>{{ pageData[3].data[0].title }}</span>
  161. </NuxtLink>
  162. <NuxtLink
  163. :to="{ path: `/newsDetail/${pageData[3].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  164. v-if="pageData[3].data[0].islink==0" :title="pageData[3].data[0].title">
  165. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  166. <span>{{ pageData[3].data[0].title }}</span>
  167. </NuxtLink>
  168. </div>
  169. <ul class="PartTwoList">
  170. <li v-for="item in pageData[3].data2">
  171. <em></em>
  172. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  173. <NuxtLink
  174. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  175. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  176. </li>
  177. </ul>
  178. </div>
  179. <div class="farmer" v-if="pageData.length>=5">
  180. <div class="title">
  181. <h3>
  182. <NuxtLink :to="{ path: `/newsList/${pageData[4].cid}`}" v-if="pageData[4]" :title="pageData[4].alias">
  183. {{ pageData[4].alias }}
  184. </NuxtLink>
  185. <span>
  186. <NuxtLink
  187. :to="{ path: `/newsList/${pageData[4].cid}`}"
  188. v-if="pageData[4]" :title="pageData[4].title">查看更多</NuxtLink>
  189. </span>
  190. </h3>
  191. </div>
  192. <div class="PartTwoPhoto" v-if="pageData[4].data[0]">
  193. <NuxtLink :to="item.linkurl" v-if="pageData[4].data[0].islink==1" :title="pageData[4].data[0].title">
  194. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  195. <span>{{ pageData[4].data[0].title }}</span>
  196. </NuxtLink>
  197. <NuxtLink
  198. :to="{ path: `/newsDetail/${pageData[4].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  199. v-if="pageData[4].data[0].islink==0" :title="pageData[4].data[0].title">
  200. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  201. <span>{{ pageData[4].data[0].title }}</span>
  202. </NuxtLink>
  203. </div>
  204. <ul class="PartTwoList">
  205. <li v-for="item in pageData[4].data2">
  206. <em></em>
  207. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  208. <NuxtLink
  209. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  210. v-if="item.islink==0" :title="item.title">
  211. {{ item.title }}
  212. </NuxtLink>
  213. </li>
  214. </ul>
  215. </div>
  216. </div>
  217. </div>
  218. <!-- 三农资讯logo -->
  219. <HomeTopTen :imgurl="adImg2" v-if="adImg2"></HomeTopTen>
  220. <!-- 第三层 -->
  221. <div class="zixuntuijian" v-if="pageData.length>=6">
  222. <div class="inner">
  223. <div class="innerLeft" >
  224. <div class="zixunTop">
  225. <div class="zixunLeft" v-if="pageData.length>=6">
  226. <div class="title">
  227. <h3>
  228. <NuxtLink :to="{ path: `/newsList/${pageData[5].cid}`}" v-if="pageData[5]" :title="pageData[5].alias">
  229. {{ pageData[5].alias }}
  230. </NuxtLink>
  231. <span>
  232. <NuxtLink
  233. :to="{ path: `/newsList/${pageData[5].cid}`}"
  234. v-if="pageData[5]" :title="pageData[5].title">查看更多</NuxtLink>
  235. </span>
  236. </h3>
  237. </div>
  238. <ul class="photo_text">
  239. <li v-for="item in pageData[5].data">
  240. <article>
  241. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  242. <img :src="item.imgurl" :alt="item.title">
  243. </NuxtLink>
  244. <NuxtLink
  245. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  246. v-if="item.islink==0" :title="item.title">
  247. <img :src="item.imgurl" :alt="item.title">
  248. </NuxtLink>
  249. <div>
  250. <h5>
  251. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  252. <NuxtLink
  253. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  254. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  255. </h5>
  256. <p>
  257. <span>{{ item.author }}</span>
  258. <span>{{ getTime(item.updated_at,'month',1) }}</span>
  259. </p>
  260. </div>
  261. </article>
  262. </li>
  263. <li v-for="item in pageData[5].data2">
  264. <article>
  265. <em></em>
  266. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  267. <NuxtLink
  268. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  269. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  270. </article>
  271. </li>
  272. </ul>
  273. </div>
  274. <div class="zixunRight" v-if="pageData.length>=7">
  275. <div class="title">
  276. <h3>
  277. <NuxtLink :to="{ path: `/newsList/${pageData[6].cid}`}" v-if="pageData[6]" :title="pageData[6].alias">
  278. {{ pageData[6].alias }}
  279. </NuxtLink>
  280. <span>
  281. <NuxtLink
  282. :to="{ path: `/newsList/${pageData[6].cid}`}"
  283. v-if="pageData[6]" :title="pageData[6].title">查看更多</NuxtLink>
  284. </span>
  285. </h3>
  286. </div>
  287. <div class="towPic">
  288. <div v-for="item in pageData[6].data" class="picBox">
  289. <div>
  290. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  291. <img :src="item.imgurl" :alt="item.title">
  292. </NuxtLink>
  293. <NuxtLink
  294. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  295. v-if="item.islink==0" :title="item.title">
  296. <img :src="item.imgurl" :alt="item.title">
  297. </NuxtLink>
  298. </div>
  299. </div>
  300. </div>
  301. <ul class="photo_text">
  302. <li v-for="item in pageData[6].data2">
  303. <article>
  304. <em></em>
  305. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  306. <NuxtLink
  307. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  308. v-if="item.islink==0" :title="item.title">{{ item.title }}
  309. </NuxtLink>
  310. </article>
  311. </li>
  312. </ul>
  313. </div>
  314. </div>
  315. <div class="zixunBottom" v-if="pageData[7]">
  316. <img class="left" :src="pageData[7].data[0].imgurl" :alt="pageData[7].data[0].title"
  317. v-if="pageData[7].data[0] && hoverStatus == 0">
  318. <img class="left" :src="pageData[7].data[1].imgurl" :alt="pageData[7].data[1].title"
  319. v-if="pageData[7].data[1] && hoverStatus == 1">
  320. <img class="left" :src="pageData[7].data[2].imgurl" :alt="pageData[7].data[2].title"
  321. v-if="pageData[7].data[2] && hoverStatus == 2">
  322. <img class="left" :src="pageData[7].data[3].imgurl" :alt="pageData[7].data[3].title"
  323. v-if="pageData[7].data[3] && hoverStatus == 3">
  324. <img class="left" :src="pageData[7].data[4].imgurl" :alt="pageData[7].data[4].title"
  325. v-if="pageData[7].data[4] && hoverStatus == 4">
  326. <img class="left" :src="pageData[7].data[5].imgurl" :alt="pageData[7].data[5].title"
  327. v-if="pageData[7].data[5] && hoverStatus == 5">
  328. <ul class="leftList left">
  329. <li v-for="(item, index) in pageData[7].data" @mouseenter="qhPic(index)">
  330. <h4>
  331. <em></em>
  332. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  333. <NuxtLink
  334. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  335. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  336. </h4>
  337. </li>
  338. </ul>
  339. </div>
  340. </div>
  341. <div class="innerRight" v-if="pageData.length>=9">
  342. <div class="title">
  343. <h3>
  344. <NuxtLink :to="{ path: `/newsList/${pageData[8].cid}`}" v-if="pageData[8]" :title="pageData[8].alias">
  345. {{ pageData[8].alias }}
  346. </NuxtLink>
  347. <span>
  348. <NuxtLink
  349. :to="{ path: `/newsList/${pageData[8].cid}`}"
  350. v-if="pageData[8]" :title="pageData[8].title">查看更多</NuxtLink>
  351. </span>
  352. </h3>
  353. </div>
  354. <ul class="information">
  355. <li v-for="item in pageData[8].data">
  356. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  357. <img :src="item.imgurl" :alt="item.title">
  358. </NuxtLink>
  359. <NuxtLink
  360. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  361. v-if="item.islink==0" :title="item.title">
  362. <img :src="item.imgurl" :alt="item.title">
  363. </NuxtLink>
  364. <div class="text">
  365. <h5>
  366. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  367. <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  368. </h5>
  369. <p>{{ item.author }}</p>
  370. </div>
  371. </li>
  372. </ul>
  373. </div>
  374. </div>
  375. </div>
  376. <HomeTopTen :imgurl="adImg3" v-if="adImg3"></HomeTopTen>
  377. <div class="farming" v-if="pageData.length>=10">
  378. <div class="inner">
  379. <div class="innerLeft">
  380. <div class="farmer" v-if="pageData.length>=10">
  381. <h3>
  382. <NuxtLink :to="{ path: `/newsList/${pageData[9].cid}`}" v-if="pageData[9]" :title="pageData[9].alias">
  383. {{ pageData[9].alias }}
  384. </NuxtLink>
  385. <span>
  386. <NuxtLink
  387. :to="{ path: `/newsList/${pageData[9].cid}`}"
  388. v-if="pageData[9]" :title="pageData[9].title">查看更多</NuxtLink>
  389. </span>
  390. </h3>
  391. <ul>
  392. <li v-for="item in pageData[9].data">
  393. <em></em>
  394. <span>
  395. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  396. <NuxtLink
  397. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  398. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  399. </span>
  400. </li>
  401. </ul>
  402. </div>
  403. <div class="farmer" v-if="pageData.length>=11">
  404. <h3>
  405. <NuxtLink :to="{ path: `/newsList/${pageData[10].cid}`}" v-if="pageData[10]" :title="pageData[10].alias">
  406. {{ pageData[10].alias }}
  407. </NuxtLink>
  408. <span>
  409. <NuxtLink
  410. :to="{ path: `/newsList/${pageData[10].cid}`}"
  411. v-if="pageData[10]" :title="pageData[10].title">查看更多</NuxtLink>
  412. </span>
  413. </h3>
  414. <ul>
  415. <li v-for="item in pageData[10].data">
  416. <em></em>
  417. <span>
  418. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  419. <NuxtLink
  420. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  421. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  422. </span>
  423. </li>
  424. </ul>
  425. </div>
  426. </div>
  427. <div class="innerRight" v-if="pageData.length>=12">
  428. <h3>
  429. <NuxtLink :to="{ path: `/newsList/${pageData[11].cid}`}" v-if="pageData[11]" :title="pageData[11].alias">
  430. {{ pageData[11].alias }}
  431. </NuxtLink>
  432. <span>
  433. <NuxtLink
  434. :to="{ path: `/newsList/${pageData[11].cid}`}"
  435. v-if="pageData[11]" :title="pageData[11].title">查看更多</NuxtLink>
  436. </span>
  437. </h3>
  438. <div class="banner">
  439. <HomeSmallSwiper :swiperData="pageData[11].data"></HomeSmallSwiper>
  440. </div>
  441. <div class="banner_b_img">
  442. <div class="photo">
  443. <article v-for="(item, index) in pageData[11].data2">
  444. <div class="photoL" v-if="index == 0">
  445. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  446. <img :src="item.imgurl" :alt="item.title">
  447. <span>{{ item.title }}</span>
  448. </NuxtLink>
  449. <NuxtLink
  450. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  451. v-if="item.islink==0" :title="item.title">
  452. <img :src="item.imgurl" :alt="item.title">
  453. <span>{{ item.title }}</span>
  454. </NuxtLink>
  455. </div>
  456. <div class="photoL" v-if="index == 1">
  457. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  458. <img :src="item.imgurl" :alt="item.title">
  459. <span>{{ item.title }}</span>
  460. </NuxtLink>
  461. <NuxtLink
  462. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  463. v-if="item.islink==0" :title="item.title">
  464. <img :src="item.imgurl" :alt="item.title">
  465. <span>{{ item.title }}</span>
  466. </NuxtLink>
  467. </div>
  468. </article>
  469. </div>
  470. </div>
  471. <div class="banner_text_list">
  472. <ul>
  473. <li v-for="item in pageData[11].data3">
  474. <em></em>
  475. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  476. <span>{{ item.title }}</span>
  477. </NuxtLink>
  478. <NuxtLink
  479. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  480. v-if="item.islink==0" :title="item.title">
  481. <span>{{ item.title }}</span>
  482. </NuxtLink>
  483. </li>
  484. </ul>
  485. </div>
  486. </div>
  487. </div>
  488. </div>
  489. <!-- 十强称号logo -->
  490. <HomeTopTen :imgurl="adImg4" v-if="adImg4"></HomeTopTen>
  491. <!-- 第五层 -->
  492. <div class="scienceEducation" v-if="pageData.length>=13">
  493. <div class="inner">
  494. <div class="innerLeft" v-if="pageData.length>=13">
  495. <div class="slider">
  496. <div class="scienceTitle">
  497. <h5>
  498. <NuxtLink :to="{ path: `/newsList/${pageData[12].cid}`}" v-if="pageData[12]" :title="pageData[12].title">
  499. {{ pageData[12].title }}
  500. </NuxtLink>
  501. </h5>
  502. <p class="title">
  503. <span v-if="pageData[12]" @click="qhtabs(1)">
  504. <b v-if="showTabs == 1" class="active">{{ pageData[12].title1 }}</b>
  505. <b v-else class="noSelect">{{ pageData[12].title1 }}</b>
  506. </span>
  507. <span v-if="pageData[12]" @click="qhtabs(2)">
  508. <b v-if="showTabs == 2" class="active">{{ pageData[12].title2 }}</b>
  509. <b v-else class="noSelect">{{ pageData[12].title2 }}</b>
  510. </span>
  511. <span v-if="pageData[12]" @click="qhtabs(3)">
  512. <b v-if="showTabs == 3" class="active">{{ pageData[12].title3 }}</b>
  513. <b v-else class="noSelect">{{ pageData[12].title3 }}</b>
  514. </span>
  515. <span v-if="pageData[12]" @click="qhtabs(4)">
  516. <b v-if="showTabs == 4" class="active">{{ pageData[12].title4 }}</b>
  517. <b v-else class="noSelect">{{ pageData[12].title4 }}</b>
  518. </span>
  519. </p>
  520. </div>
  521. <div class="box">
  522. <div class="scienceListBox">
  523. <ul class="scienceList" v-if="showTabs == 1">
  524. <li v-for="item in pageData[12].data1">
  525. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  526. <NuxtLink
  527. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  528. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  529. <p>
  530. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  531. <NuxtLink
  532. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  533. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  534. </p>
  535. </li>
  536. </ul>
  537. <ul class="scienceList" v-if="showTabs == 2">
  538. <li v-for="item in pageData[12].data2">
  539. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  540. <NuxtLink
  541. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  542. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  543. <p>
  544. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  545. <NuxtLink
  546. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  547. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  548. </p>
  549. </li>
  550. </ul>
  551. <ul class="scienceList" v-if="showTabs == 3">
  552. <li v-for="item in pageData[12].data3">
  553. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  554. <NuxtLink
  555. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  556. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  557. <p>
  558. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  559. <NuxtLink
  560. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  561. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  562. </p>
  563. </li>
  564. </ul>
  565. <ul class="scienceList" v-if="showTabs == 4">
  566. <li v-for="item in pageData[12].data4">
  567. <img :src="item.imgurl" :alt="item.title">
  568. <p>
  569. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  570. <NuxtLink
  571. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  572. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  573. </p>
  574. </li>
  575. </ul>
  576. </div>
  577. </div>
  578. </div>
  579. </div>
  580. <div class="innerRight" v-if="pageData.length>=14">
  581. <h3>
  582. <NuxtLink :to="{ path: `/newsList/${pageData[13].cid}`}" v-if="pageData[13]" :title="pageData[13].alias">
  583. {{ pageData[13].alias }}
  584. </NuxtLink>
  585. <span>
  586. <NuxtLink
  587. :to="{ path: `/newsList/${pageData[13].cid}`}"
  588. v-if="pageData[13]" :title="pageData[13].title">查看更多</NuxtLink>
  589. </span>
  590. </h3>
  591. <ul class="sannongList">
  592. <li v-for="item in pageData[13].data3">
  593. <em></em>
  594. <span>
  595. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  596. <NuxtLink
  597. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  598. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  599. </span>
  600. </li>
  601. </ul>
  602. <div class="banner">
  603. <HomeSmallSwiper :swiperData="pageData[13].data"></HomeSmallSwiper>
  604. </div>
  605. <div class="banner_b_img">
  606. <div class="photo">
  607. <article v-for="(item, index) in pageData[13].data2">
  608. <div class="photoL" v-if="index == 0">
  609. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  610. <img :src="item.imgurl" :alt="item.title">
  611. <span>{{ item.title }}</span>
  612. </NuxtLink>
  613. <NuxtLink
  614. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  615. v-if="item.islink==0" :title="item.title">
  616. <img :src="item.imgurl" :alt="item.title">
  617. <span>{{ item.title }}</span>
  618. </NuxtLink>
  619. </div>
  620. <div class="photoL" v-if="index == 1">
  621. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  622. <img :src="item.imgurl" :alt="item.title">
  623. <span>{{ item.title }}</span>
  624. </NuxtLink>
  625. <NuxtLink
  626. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  627. v-if="item.islink==0" :title="item.title">
  628. <img :src="item.imgurl" :alt="item.title">
  629. <span>{{ item.title }}</span>
  630. </NuxtLink>
  631. </div>
  632. </article>
  633. </div>
  634. </div>
  635. </div>
  636. </div>
  637. </div>
  638. <!-- 页脚部分 -->
  639. <HomeFoot1></HomeFoot1>
  640. </div>
  641. </template>
  642. <script setup>
  643. //1.加载页面依赖 start ---------------------------------------->
  644. import { ref, onMounted } from 'vue';
  645. //获得跳转过来的id
  646. const route = useRoute();
  647. const routeId = route.params.id; //获得该页面的id
  648. const routeName = route.query.name; //获得该页面的名称
  649. //1.加载页面依赖 end ---------------------------------------->
  650. //2.页面交互效果 start ---------------------------------------->
  651. //2.1 新闻图片切换
  652. const hoverStatus = ref(1)
  653. const qhPic = function (num) {
  654. console.log(num)
  655. hoverStatus.value = num;
  656. }
  657. //2.2 选项卡切换
  658. let showTabs = ref(1)
  659. let qhtabs = function (number) {
  660. console.log(number)
  661. showTabs.value = number
  662. }
  663. //2.3 展示广告
  664. // async function getAdData(){
  665. // const mkdata = await requestDataPromise('/web/getWebsiteAdvertisement',{method:'GET',query:{'ad_tag':'CATEGORY'}});
  666. // if(mkdata.code == 200){
  667. // for(let item of mkdata.data){
  668. // if(item.ad_tag == 'CATEGORY_0001'){
  669. // adImg1.value = item;
  670. // }
  671. // if(item.ad_tag == 'CATEGORY_0002'){
  672. // adImg2.value = item;
  673. // }
  674. // if(item.ad_tag == 'CATEGORY_0003'){
  675. // adImg3.value = item;
  676. // }
  677. // if(item.ad_tag == 'CATEGORY_0004'){
  678. // adImg4.value = item;
  679. // }
  680. // }
  681. // }else{
  682. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  683. // console.log("错误位置:分类页广告")
  684. // console.log("后端错误反馈:",mkdata.message)
  685. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  686. // }
  687. // }
  688. // getAdData();
  689. let adImg1 = ref({})
  690. let adImg2 = ref({})
  691. let adImg3 = ref({})
  692. let adImg4 = ref({})
  693. onMounted(async () => {
  694. //从客户端获取行政职能部门 加快打开速度
  695. const { $webUrl, $CwebUrl } = useNuxtApp();
  696. //广告1
  697. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0001`
  698. const responseAd1 = await fetch(url, {
  699. headers: {
  700. 'Content-Type': 'application/json',
  701. 'Userurl': $CwebUrl,
  702. 'Origin': $CwebUrl
  703. }
  704. });
  705. const resultAd1 = await responseAd1.json();
  706. adImg1.value = resultAd1.data[0];
  707. //广告2
  708. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
  709. const responseAd2 = await fetch(url2, {
  710. headers: {
  711. 'Content-Type': 'application/json',
  712. 'Userurl': $CwebUrl,
  713. 'Origin': $CwebUrl
  714. }
  715. });
  716. const resultAd2 = await responseAd2.json();
  717. adImg2.value = resultAd2.data[0];
  718. //广告3
  719. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
  720. const responseAd3 = await fetch(url3, {
  721. headers: {
  722. 'Content-Type': 'application/json',
  723. 'Userurl': $CwebUrl,
  724. 'Origin': $CwebUrl
  725. }
  726. });
  727. const resultAd3 = await responseAd3.json();
  728. adImg3.value = resultAd3.data[0];
  729. //广告4
  730. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
  731. const responseAd4 = await fetch(url4, {
  732. headers: {
  733. 'Content-Type': 'application/json',
  734. 'Userurl': $CwebUrl,
  735. 'Origin': $CwebUrl
  736. }
  737. });
  738. const resultAd4 = await responseAd4.json();
  739. adImg4.value = resultAd4.data[0];
  740. })
  741. //2.页面交互效果 end ---------------------------------------->
  742. //3.渲染页面数据 start ---------------------------------------->
  743. //3.1 该页面上所有的导航池 转为动态数据
  744. const pageCategory = ref([]);
  745. //3.2 该页面上需要渲染的所有数据
  746. const pageData = ref([
  747. // { id: 0, data: [], data2: [], title: "", cid: "" },
  748. // { id: 1, data: [], title: "", cid: "" },
  749. // { id: 2, data: [], title: "", cid: "" },
  750. // { id: 3, data: [], title: "", cid: "" },
  751. // { id: 4, data: [], title: "", cid: "" },
  752. // { id: 5, data: [], title: "", cid: "" },
  753. // { id: 6, data: [], title: "", cid: "" },
  754. // { id: 7, data: [], title: "", cid: "" },
  755. // { id: 8, data: [], title: "", cid: "" },
  756. // { id: 9, data: [], title: "", cid: "" },
  757. // { id: 10, data: [], title: "", cid: "" },
  758. // { id: 10, data: [], title: "", cid: "" },
  759. // {
  760. // id: 11,
  761. // title: "",
  762. // data: [],
  763. // data1: [],
  764. // data2: [],
  765. // data3: [],
  766. // data4: [],
  767. // category_id1: "",
  768. // category_id2: "",
  769. // category_id3: "",
  770. // category_id4: "",
  771. // title1: "",
  772. // title2: "",
  773. // title3: "",
  774. // title4: "",
  775. // cid: ""
  776. // },
  777. // { id: 12, data1: [], data2: [], data3: [], cid: "" },
  778. ])
  779. const navSize = ref("");
  780. //3.3 获取所有导航
  781. try {
  782. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  783. method: 'GET',
  784. query: {
  785. 'placeid': 1,
  786. 'pid': routeId,
  787. 'num': 14
  788. },
  789. });
  790. if(navigateData.code == 200){
  791. // 遍历可用的导航池放到页面中
  792. for (let index in navigateData.data) {
  793. let data = {
  794. title: navigateData.data[index].name,
  795. cid: navigateData.data[index].category_id,
  796. children_count: navigateData.data[index].children_count,
  797. alias: navigateData.data[index].alias,
  798. data:[],
  799. data1:[],
  800. data2:[],
  801. data3:[],
  802. data4:[],
  803. category_id1:"",
  804. category_id2:"",
  805. category_id3:"",
  806. category_id4:"",
  807. title1: "",
  808. title2: "",
  809. title3: "",
  810. title4: ""
  811. };
  812. if (navigateData.data[index].is_url == 1) {
  813. // 处理 URL 的逻辑
  814. } else {
  815. pageData.value.push(data);
  816. }
  817. }
  818. //导航池加载完毕,开始申请模块数据
  819. await getPageData1();
  820. await getPageData1_data2();
  821. await getPageData1_data3();
  822. await getPageData2();
  823. await getPageData3();
  824. await getPageData3_data2();
  825. await getPageData4();
  826. await getPageData4_data2();
  827. await getPageData5();
  828. await getPageData5_data2();
  829. await getPageData6();
  830. await getPageData6_data2();
  831. await getPageData7();
  832. await getPageData7_data2();
  833. await getPageData8();
  834. await getPageData9();
  835. await getPageData10();
  836. await getPageData11();
  837. await getPageData12();
  838. await getPageData12_data2();
  839. await getPageData12_data3();
  840. await getPageData13();
  841. if(navSize.value>=1){
  842. await getPageData13_data1();
  843. }
  844. if(navSize.value>=2){
  845. await getPageData13_data2();
  846. }
  847. if(navSize.value>=3){
  848. await getPageData13_data3();
  849. }
  850. if(navSize.value>=4){
  851. await getPageData13_data4();
  852. }
  853. await getPageData14();
  854. await getPageData14_data2();
  855. await getPageData14_data3();
  856. }else{
  857. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  858. console.log("错误位置:分类页导航池")
  859. console.log("后端错误反馈:",navigateData.message)
  860. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  861. }
  862. } catch (error) {
  863. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  864. console.log("错误位置:分类页导航渲染阶段")
  865. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  866. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  867. }
  868. //模块1
  869. async function getPageData1() {
  870. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  871. method: 'GET',
  872. query: {
  873. 'catid': pageData.value[0].cid,
  874. 'level': 3,
  875. 'pagesize': 1
  876. },
  877. });
  878. pageData.value[0].data = mkdata.data;
  879. }
  880. async function getPageData1_data2() {
  881. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  882. method: 'GET',
  883. query: {
  884. 'catid': pageData.value[0].cid,
  885. 'level': 3,
  886. 'pagesize': 4,
  887. 'placeid': 2
  888. },
  889. });
  890. pageData.value[0].data2 = mkdata.data;
  891. }
  892. async function getPageData1_data3() {
  893. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  894. method: 'GET',
  895. query: {
  896. 'catid': pageData.value[0].cid,
  897. 'level': 1,
  898. 'pagesize': 8,
  899. },
  900. });
  901. pageData.value[0].data3 = mkdata.data;
  902. }
  903. //模块2
  904. async function getPageData2() {
  905. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  906. method: 'GET',
  907. query: {
  908. 'catid': pageData.value[1].cid,
  909. 'level': 3,
  910. 'pagesize': 5
  911. },
  912. });
  913. pageData.value[1].data = mkdata.data;
  914. }
  915. //模块3
  916. async function getPageData3() {
  917. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  918. method: 'GET',
  919. query: {
  920. 'catid': pageData.value[2].cid,
  921. 'level': 3,
  922. 'pagesize': 6
  923. },
  924. });
  925. pageData.value[2].data = mkdata.data;
  926. }
  927. async function getPageData3_data2() {
  928. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  929. method: 'GET',
  930. query: {
  931. 'catid': pageData.value[2].cid,
  932. 'level': 1,
  933. 'pagesize': 6
  934. },
  935. });
  936. pageData.value[2].data2 = mkdata.data;
  937. }
  938. //模块4
  939. async function getPageData4() {
  940. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  941. method: 'GET',
  942. query: {
  943. 'catid': pageData.value[3].cid,
  944. 'level': 3,
  945. 'pagesize': 6
  946. },
  947. });
  948. pageData.value[3].data = mkdata.data;
  949. }
  950. async function getPageData4_data2() {
  951. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  952. method: 'GET',
  953. query: {
  954. 'catid': pageData.value[3].cid,
  955. 'level': 1,
  956. 'pagesize': 6
  957. },
  958. });
  959. pageData.value[3].data2 = mkdata.data;
  960. }
  961. //模块5
  962. async function getPageData5() {
  963. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  964. method: 'GET',
  965. query: {
  966. 'catid': pageData.value[4].cid,
  967. 'level': 3,
  968. 'pagesize': 6
  969. },
  970. });
  971. pageData.value[4].data = mkdata.data;
  972. }
  973. async function getPageData5_data2() {
  974. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  975. method: 'GET',
  976. query: {
  977. 'catid': pageData.value[4].cid,
  978. 'level': 1,
  979. 'pagesize': 6
  980. },
  981. });
  982. pageData.value[4].data2 = mkdata.data;
  983. }
  984. //模块6
  985. async function getPageData6() {
  986. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  987. method: 'GET',
  988. query: {
  989. 'catid': pageData.value[5].cid,
  990. 'level': 3,
  991. 'pagesize':1
  992. },
  993. });
  994. pageData.value[5].data = mkdata.data;
  995. }
  996. async function getPageData6_data2() {
  997. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  998. method: 'GET',
  999. query: {
  1000. 'catid': pageData.value[5].cid,
  1001. 'level': 1,
  1002. 'pagesize':3
  1003. },
  1004. });
  1005. pageData.value[5].data2 = mkdata.data;
  1006. }
  1007. //模块7
  1008. async function getPageData7() {
  1009. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1010. method: 'GET',
  1011. query: {
  1012. 'catid': pageData.value[6].cid,
  1013. 'level': 3,
  1014. 'pagesize': 2
  1015. },
  1016. });
  1017. pageData.value[6].data = mkdata.data;
  1018. }
  1019. async function getPageData7_data2() {
  1020. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1021. method: 'GET',
  1022. query: {
  1023. 'catid': pageData.value[6].cid,
  1024. 'level': 1,
  1025. 'pagesize': 3
  1026. },
  1027. });
  1028. pageData.value[6].data2= mkdata.data;
  1029. }
  1030. //模块8
  1031. async function getPageData8() {
  1032. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1033. method: 'GET',
  1034. query: {
  1035. 'catid': pageData.value[7].cid,
  1036. 'level': 3,
  1037. 'pagesize': 5
  1038. },
  1039. });
  1040. pageData.value[7].data = mkdata.data;
  1041. }
  1042. //模块9
  1043. async function getPageData9() {
  1044. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1045. method: 'GET',
  1046. query: {
  1047. 'catid': pageData.value[8].cid,
  1048. 'level': 3,
  1049. 'pagesize': 4
  1050. },
  1051. });
  1052. pageData.value[8].data = mkdata.data;
  1053. }
  1054. //模块10
  1055. async function getPageData10() {
  1056. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1057. method: 'GET',
  1058. query: {
  1059. 'catid': pageData.value[9].cid,
  1060. 'level': 1,
  1061. 'pagesize': 10
  1062. },
  1063. });
  1064. pageData.value[9].data = mkdata.data;
  1065. }
  1066. //模块11
  1067. async function getPageData11() {
  1068. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1069. method: 'GET',
  1070. query: {
  1071. 'catid': pageData.value[10].cid,
  1072. 'level': 1,
  1073. 'pagesize': 10
  1074. },
  1075. });
  1076. pageData.value[10].data = mkdata.data;
  1077. }
  1078. //模块12
  1079. async function getPageData12() {
  1080. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1081. method: 'GET',
  1082. query: {
  1083. 'catid': pageData.value[11].cid,
  1084. 'level': 2,
  1085. 'pagesize': 4
  1086. },
  1087. });
  1088. pageData.value[11].data = mkdata.data;
  1089. }
  1090. async function getPageData12_data2() {
  1091. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1092. method: 'GET',
  1093. query: {
  1094. 'catid': pageData.value[11].cid,
  1095. 'level': 3,
  1096. 'pagesize': 2
  1097. },
  1098. });
  1099. pageData.value[11].data2 = mkdata.data;
  1100. }
  1101. async function getPageData12_data3() {
  1102. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1103. method: 'GET',
  1104. query: {
  1105. 'catid': pageData.value[11].cid,
  1106. 'level': 1,
  1107. 'pagesize': 5
  1108. },
  1109. });
  1110. pageData.value[11].data3 = mkdata.data;
  1111. }
  1112. async function getPageData13() {
  1113. const navData = await requestDataPromise('/web/getWebsiteModelCategory', {
  1114. method: 'GET',
  1115. query: {
  1116. 'pid': pageData.value[12].cid,
  1117. 'placeid': 1,
  1118. 'num': 4
  1119. },
  1120. });
  1121. let mkLength = navData.data.length;
  1122. navSize.value = navData.data.length;
  1123. if(mkLength != 0){
  1124. for (let i = 1; i <= mkLength; i++) {
  1125. if (i == 1) {
  1126. pageData.value[12].title1 = navData.data[0].name;
  1127. pageData.value[12].category_id1 = navData.data[0].category_id;
  1128. }
  1129. if (i == 2) {
  1130. pageData.value[12].title2 = navData.data[1].name;
  1131. pageData.value[12].category_id2 = navData.data[1].category_id;
  1132. }
  1133. if (i == 3) {
  1134. pageData.value[12].title3 = navData.data[2].name;
  1135. pageData.value[12].category_id3 = navData.data[2].category_id;
  1136. }
  1137. if (i == 4) {
  1138. pageData.value[12].title4 = navData.data[3].name;
  1139. pageData.value[12].category_id4 = navData.data[3].category_id;
  1140. }
  1141. }
  1142. }
  1143. }
  1144. async function getPageData13_data1() {
  1145. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1146. method: 'GET',
  1147. query: {
  1148. 'catid': pageData.value[12].category_id1,
  1149. 'level': 3,
  1150. 'pagesize': 6
  1151. },
  1152. });
  1153. pageData.value[12].data1 = mkdata.data;
  1154. }
  1155. async function getPageData13_data2() {
  1156. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1157. method: 'GET',
  1158. query: {
  1159. 'catid': pageData.value[12].category_id2,
  1160. 'level': 3,
  1161. 'pagesize': 6
  1162. },
  1163. });
  1164. pageData.value[12].data2 = mkdata.data;
  1165. }
  1166. async function getPageData13_data3() {
  1167. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1168. method: 'GET',
  1169. query: {
  1170. 'catid': pageData.value[12].category_id3,
  1171. 'level': 3,
  1172. 'pagesize': 6
  1173. },
  1174. });
  1175. pageData.value[12].data3 = mkdata.data;
  1176. }
  1177. async function getPageData13_data4() {
  1178. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1179. method: 'GET',
  1180. query: {
  1181. 'catid': pageData.value[12].category_id4,
  1182. 'level': 3,
  1183. 'pagesize': 6
  1184. },
  1185. });
  1186. pageData.value[12].data4 = mkdata.data;
  1187. }
  1188. //模块14
  1189. async function getPageData14() {
  1190. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1191. method: 'GET',
  1192. query: {
  1193. 'catid': pageData.value[13].cid,
  1194. 'level': 2,
  1195. 'pagesize': 4
  1196. },
  1197. });
  1198. pageData.value[13].data = mkdata.data;
  1199. }
  1200. async function getPageData14_data2() {
  1201. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1202. method: 'GET',
  1203. query: {
  1204. 'catid': pageData.value[13].cid,
  1205. 'level': 3,
  1206. 'pagesize': 2
  1207. },
  1208. });
  1209. pageData.value[13].data2 = mkdata.data;
  1210. }
  1211. async function getPageData14_data3() {
  1212. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1213. method: 'GET',
  1214. query: {
  1215. 'catid': pageData.value[13].cid,
  1216. 'level': 1,
  1217. 'pagesize': 5
  1218. },
  1219. });
  1220. pageData.value[13].data3 = mkdata.data;
  1221. }
  1222. //3.渲染页面数据 end ---------------------------------------->
  1223. //4.设置seo信息 start---------------------------------------->
  1224. //4.1 设置seo信息
  1225. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  1226. method: 'GET',
  1227. query: {
  1228. 'catid': routeId
  1229. },
  1230. });
  1231. if(setData.code == 200){
  1232. let seoTitle = setData.data.seo_title;
  1233. let seoDescription = setData.data.seo_description;
  1234. let seoKeywords = setData.data.seo_keywords;
  1235. let seoSuffix = setData.data.suffix;
  1236. let seoName = setData.data.website_name;
  1237. useSeoMeta({
  1238. title: seoTitle + "_" + seoSuffix,
  1239. meta: [
  1240. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix },
  1241. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix }
  1242. ]
  1243. });
  1244. }else{
  1245. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1246. console.log("错误位置:设置分类页面SEO数据")
  1247. console.log("后端错误反馈:",setData.message)
  1248. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1249. }
  1250. //4.设置seo信息 end---------------------------------------->
  1251. </script>
  1252. <style lang="less" scoped>
  1253. @import '@/assets/css/class.less';
  1254. </style>